home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Meeting Pearls 4
/
Meeting Pearls Vol. IV (1996)(GTI - Schatztruhe)[!].iso
/
Pearls
/
dev
/
Oberon
/
OberonV4
/
system
/
AmigaAsl.Mod
(
.txt
)
< prev
next >
Wrap
Oberon Text
|
1994-06-23
|
3KB
|
106 lines
Syntax10.Scn.Fnt
Syntax10b.Scn.Fnt
MODULE AmigaAsl;
IMPORT
SYSTEM,A:=AmigaBase,E:=AmigaExec,U:=AmigaUtility;
CONST
aslName*="asl.library";
aslScreenModeRequest*=2;
aslTB*=U.user+80000H;
tsmWindow*=aslTB+2;
tsmScreen*=aslTB+40;
tsmPubScreenName*=aslTB+41;
tsmPrivateIDCMP*=aslTB+42;
tsmIntuiMsgFunc*=aslTB+70;
tsmSleepWindow*=aslTB+43;
tsmUserData*=aslTB+52;
tsmTextAttr*=aslTB+51;
tsmLocale*=aslTB+50;
tsmTitleText*=aslTB+1;
tsmPositiveText*=aslTB+18;
tsmNegativeText*=aslTB+19;
tsmInitialLeftEdge*=aslTB+3;
tsmInitialTopEdge*=aslTB+4;
tsmInitialWidth*=aslTB+5;
tsmInitialHeight*=aslTB+6;
tsmInitialDisplayID*=aslTB+100;
tsmInitialDisplayWidth*=aslTB+101;
tsmInitialDisplayHeight*=aslTB+102;
tsmInitialDisplayDepth*=aslTB+103;
tsmInitialOverscanType*=aslTB+104;
tsmInitialAutoScroll*=aslTB+105;
tsmInitialInfoOpened*=aslTB+106;
tsmInitialInfoLeftEdge*=aslTB+107;
tsmInitialInfoTopEdge*=aslTB+108;
tsmDoWidth*=aslTB+109;
tsmDoHeight*=aslTB+110;
tsmDoDepth*=aslTB+111;
tsmDoOverscanType*=aslTB+112;
tsmDoAutoScroll*=aslTB+113;
tsmPropertyFlags*=aslTB+114;
tsmPropertyMask*=aslTB+115;
tsmMinWidth*=aslTB+116;
tsmMaxWidth*=aslTB+117;
tsmMinHeight*=aslTB+118;
tsmMaxHeight*=aslTB+119;
tsmMinDepth*=aslTB+120;
tsmMaxDepth*=aslTB+121;
tsmFilterFunc*=aslTB+122;
tsmCustomSMList*=aslTB+123;
ScreenModeRequester*=RECORD
displayID*:LONGINT;
displayWidth*:LONGINT;
displayHeight*:LONGINT;
displayDepth*:INTEGER;
overscanType*:INTEGER;
autoScroll*:INTEGER; (* BOOL *)
bitMapWidth*:LONGINT;
bitMapHeight*:LONGINT;
leftEdge*:INTEGER;
topEdge*:INTEGER;
width*:INTEGER;
height*:INTEGER;
infoOpened*:INTEGER; (* BOOL *)
infoLeftEdge*:INTEGER;
infoTopEdge*:INTEGER;
infoWidth*:INTEGER;
infoHeight*:INTEGER;
userData*:LONGINT;
END;
aslBase:LONGINT;
aslVersion-:INTEGER;
PROCEDURE AllocAslRequest*(type:LONGINT; tags:ARRAY OF U.TagItem):LONGINT;
r:A.Regs;
BEGIN
r.d[0]:=type;
r.a[0]:=SYSTEM.ADR(tags);
A.LibCall(aslBase,-48,r);
RETURN r.d[0];
END AllocAslRequest;
PROCEDURE AslRequest*(request:LONGINT; tags:ARRAY OF U.TagItem):BOOLEAN;
r:A.Regs;
BEGIN
r.a[0]:=request;
r.a[1]:=SYSTEM.ADR(tags);
A.LibCall(aslBase,-60,r);
RETURN r.d[0]#0;
END AslRequest;
PROCEDURE FreeAslRequest*(request:LONGINT);
r:A.Regs;
BEGIN
r.a[0]:=request;
A.LibCall(aslBase,-54,r);
END FreeAslRequest;
PROCEDURE Init;
LibraryPtr=POINTER TO E.Library;
lib:LibraryPtr;
BEGIN
aslBase:=E.OpenLibrary(aslName,37);
IF aslBase=0 THEN HALT(99) END;
lib:=SYSTEM.VAL(LibraryPtr,aslBase);
aslVersion:=lib.version;
END Init;
BEGIN
Init;
END AmigaAsl.